/**
 * 建筑工地缓存
 */
export interface SiteCache {
    [roomName: string]: AllTypeSite | null
}

/**
 * 房间中建筑工地所需进度缓存
 */
export interface ProgressCache {
    [roomName: string]: number
}

/**
 * 所有类型建筑工地信息
 */
export type AllTypeSite = {
    // 用 Id<ConcreteStructure<type>> 或许处理自闭
    [type in BuildableStructureConstant]?: SiteInfo[]
}

/**
 * 建造工地类型和信息元组
 */
export type SiteTuple = [BuildableStructureConstant, SiteInfo]

/**
 * 建筑工地信息
 */
export type SiteInfo = {
    id: string
    x: number
    y: number
    /**
     * 是否已经完成
     */
    done?: boolean
}
